객체지향 시스템을 개발할 때 산출물을 명세화, 시각화, 문서화하는데 사용된다. 즉, 개발하는 시스템을 이해하기 쉬운 형태로 표현하여 분석가, 의뢰인, 설계자가 효율적인 의사소통을 할 수 있게 해준다. 따라서, 개발 방법론이나 개발 프로세스가 아니라 표준화된 모델링 언어이다.
- 디자인, 사용방법설명, 평가 등을 위해 실제 화면과 유사하게 만든 정적인 형태의 모형 - 시각적으로만 구성 요소를 배치하는 것으로 일반적으로 실제로 구현되지는 않음
㉮ 설계 목표 설정 ㉯ 시스템 타입 결정 ㉰ 스타일 적용 및 커스터마이즈 ㉱ 서브시스템의 기능, 인터페이스 동작 작성 ㉲ 아키텍처 설계 검토
㉠ FIFO 방식으로 처리된다. ㉡ 순서 리스트의 뒤(Rear)에서 노드가 삽입되며, 앞(Front)에서 노드가 제거된다. ㉢ 선형 리스트의 양쪽 끝에서 삽입과 삭제가 모두 가능한 자료 구조이다. ㉣ 인터럽트 처리, 서브루틴 호출 작업 등에 응용된다.
㉠ 데이터 흐름 검사 ㉡ 루프 검사 ㉢ 동등 분할 검사 ㉣ 경계값 분석 ㉤ 원인 결과 그래프 기법 ㉥ 오류 예측 기법
학번 | 이름 | 학년 | 학과 |
---|---|---|---|
13001 | 홍길동 | 3학년 | 전기 |
13002 | 이순신 | 4학년 | 기계 |
13003 | 강감찬 | 2학년 | 컴퓨터 |
SELECT 급여 FROM 사원;
[사원] 테이블 | |||
---|---|---|---|
사원ID | 사원명 | 급여 | 부서ID |
101 | 박철수 | 30000 | 1 |
102 | 하나라 | 35000 | 2 |
103 | 김감동 | 40000 | 3 |
104 | 이구수 | 35000 | 2 |
105 | 최초록 | 40000 | 3 |
SELECT * FROM 성적 WHERE (점수 BETWEEN 90 AND 95) AND 학과=‘컴퓨터공학과’;
SELECT A FROM R UNION ALL SELECT A FROM S;
R | |
---|---|
A | B |
1 | A |
3 | B |
S | |
---|---|
A | B |
1 | A |
2 | B |
DROP VIEW V_1 CASCADE;
#include<stdio.h> #include<stdlib.h> int main(int argc, char *argv[]) { int arr[2][3]={1,2,3,4,5,6}; int (*p)[3]=NULL; p=arr; printf("%d, ", *(p[0]+1)+*(p[1]+2)); printf("%d", *(*(p+1)+0)+*(*(p+1)+1)); return 0; }
P(S) : while S<=0 do skip; S :=S-1; V(S) : S :=S+1;
#include <stdio.h> #include <stdlib.h> int main(int argc, char *argv[]) { int i=0; while(1) { if(i==4) { break; } ++i; } printf("i=%d", i); return 0; }
public class Ape { static void rs(char a[]) { for(int i=0;i<a.length;i++) if(a[i]=='B') a[i]='C'; else if(i==a.length-1) a[i]=a[i-1]; else a[i]=a[i+1]; } static void pca(char a[]) { for(int i=0;i<a.length;i++) System.out.print(a[i]); System.out.println(); } public static void main(String[] args) { char c[]={'A','B','D','D','A','B','C'}; rs(c); pca(c) } }
#include <stdio.h> #include <stdlib.h> int main(int argc, char *argv[]) { char str1[20]="KOREA"; char str2[20]="LOVE"; char* p1=NULL; char* p2=NULL; p1=str1; p2=str2; str1[1]=p2[2]; str2[3]=p1[4]; strcat(str1, str2); printf("%c", *(p1+2)); return 0; }
a=100 list_data=['a', ’b’, ’c’] dict_data={'a':90, ’b’:95} print (list_data[0]) print(dict_data['a'])
a<b+2 && a<<1<=b
a=["대", "한", "민 ", "국"] for i in a: print(i)
- 각 시스템 간에 공유 디스크를 중심으로 클러스터링으로 엮여 다수의 시스템을 동시에 연결할 수 있다. - 조직, 기업의 기간 업무 서버 등의 안정성을 높이기 위해 사용될 수 있다. - 여러 가지 방식으로 구현되며 2개의 서버를 연결하는 것으로 2개의 시스템이 각각 업무를 수행하도록 구현하는 방식이 널리 사용된다.
- 하드디스크와 같은 데이터 저장장치를 호스트 버스 어댑터에 직접 연결하는 방식 - 저장장치와 호스트 기기 사이에 네트워크 디바이스 없이 직접 연결하는 방식으로 구성
- 1990년대 David Clock이 처음 제안하였다. - 비정상적인 접근의 탐지를 위해 의도적으로 설치해 둔 시스템이다. - 침입자를 속여 실제 공격당하는 것처럼 보여줌으로써 크래커를 추적 및 공격기법의 정보를 수집하는 역할을 한다. - 쉽게 공격자에게 노출되어야 하며 쉽게 공격이 가능한 것처럼 취약해 보여야 한다.
- 컨테이너 응용프로그램의 배포를 자동화하는 오픈소스 엔진이다. - 소프트웨어 컨테이너 안에 응용프로그램들을 배치시키는 일을 자동화해 주는 오픈 소스 프로젝트이자 소프트웨어로 볼 수 있다.
- 리눅스 시스템에서 사용자의 성공한 로그인/로그아웃 정보 기록 - 시스템의 종료/시작 시간 기록